<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        function runAsync1() {
            var p = new Promise(function (resolve, reject) {
                //做一些异步操作
                setTimeout(function () {
                    console.log('异步任务1执行完成');
                    resolve('随便什么数据1');
                }, 1000);
            });
            return p;
        }

        function runAsync2() {
            var p = new Promise(function (resolve, reject) {
                //做一些异步操作
                setTimeout(function () {
                    console.log('异步任务2执行完成');
                    resolve('随便什么数据2');
                }, 2000);
            });
            return p;
        }

        function runAsync3() {
            var p = new Promise(function (resolve, reject) {
                //做一些异步操作
                setTimeout(function () {
                    console.log('异步任务3执行完成');
                    resolve('随便什么数据3');
                }, 2000);
            });
            return p;
        }

        /*     runAsync1().then(function (data) {
                 console.log(data);
                 return runAsync2()
             }).then(function (data) {
                 console.log(data);
                 return runAsync3()
             }).then(function (data) {
                 console.log(data);
             })*/


        runAsync1()
            .then(function (data) {
                console.log(data);
                return runAsync2();
            })
            .then(function (data) {
                console.log(data);
                return '直接返回数据';  //这里直接返回数据
            })
            .then(function (data) {
                console.log('====' + data);
            });
    </script>
</head>

<body>


<div class="warp">

</div>
</body>
</html>